﻿/**
 * 弹出信息框
 * @param {any} msg 消息内容
 * @param {any} type 消息类型：warning：警告；success：成功；error：失败/错误；question：询问
 */
function gkb_alert(msg, type) {
    console.log(msg)
    var iconIndex = 0;
    switch (type) {
        case 'warning':
            iconIndex = 0;
            break;
        case 'success':
            iconIndex = 1;
            break;
        case 'error':
            iconIndex = 2;
            break;
        case 'question':
            iconIndex = 3;
            break;  
    }
    layer.alert(msg, {
        icon: iconIndex
    })
}

$(function () {
    /**
    * ajax封装
    * url 发送请求的地址
    * data 发送到服务器的数据，数组存储，如：{"date": new Date().getTime(), "state": 1}
    * async 默认值: true。默认设置下，所有请求均为异步请求。如果需要发送同步请求，请将此选项设置为 false。
    * 注意，同步请求将锁住浏览器，用户其它操作必须等待请求完成才可以执行。
    * type 请求方式("POST" 或 "GET")， 默认为 "GET"
    * dataType 预期服务器返回的数据类型，常用的如：xml、html、json、text
    * successfn 成功回调函数
    * errorfn 失败回调函数
    */
    jQuery.ax = function (option) {

        async = (option.async == null || option.async == "" || typeof (option.async) == "undefined") ? "true" : option.async;
        type = (option.type == null || option.type == "" || typeof (option.type) == "undefined") ? "post" : option.type;
        dataType = (option.dataType == null || option.dataType == "" || typeof (option.dataType) == "undefined") ? "json" : option.dataType;
        data = (option.data == null || option.data == "" || typeof (option.data) == "undefined") ? { "date": new Date().getTime() } : option.data;
        $.ajax({
            type: type,
            async: async,
            data: data,
            url: option.url,
            dataType: dataType,
            success: function (d) {
                if (option.success) {
                    option.success(d);
                }
            },
            error: function (e) {
                if (option.error) {
                    option.error(d);
                }
            }
        });
    };

    /**
    * ajax封装
    * url 发送请求的地址
    * data 发送到服务器的数据，数组存储，如：{"date": new Date().getTime(), "state": 1}
    * successfn 成功回调函数
    */
    jQuery.axs = function (url, data, successfn) {
        data = (data == null || data == "" || typeof (data) == "undefined") ? { "date": new Date().getTime() } : data;
        $.ajax({
            type: "post",
            data: data,
            url: url,
            dataType: "json",
            success: function (d) {
                successfn(d);
            }
        });
    };

    /**
    * ajax封装
    * url 发送请求的地址
    * data 发送到服务器的数据，数组存储，如：{"date": new Date().getTime(), "state": 1}
    * dataType 预期服务器返回的数据类型，常用的如：xml、html、json、text
    * successfn 成功回调函数
    * errorfn 失败回调函数
    */
    jQuery.axse = function (url, data, successfn, errorfn) {
        data = (data == null || data == "" || typeof (data) == "undefined") ? { "date": new Date().getTime() } : data;
        $.ajax({
            type: "post",
            data: data,
            url: url,
            dataType: "json",
            success: function (d) {
                successfn(d);
            },
            error: function (e) {
                errorfn(e);
            }
        });
    };
});